﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace B.S.DataBase.Production.Domain
{
    /// <summary>
    /// 物料登记主表
    /// </summary>
    public class MaterialRegistrationFormModel
    {
        [Key]
        public int Id { get; set; }
        /// <summary>
        /// 单据主题（必填）
        /// </summary>
        public string DocumentTopic { get; set; }

        /// <summary>
        /// 单据编号（保存后自动生成）
        /// </summary>
        public string DocumentNumber { get; init; }

        /// <summary>
        /// 登记日期（默认当天）
        /// </summary>
        public DateTime RegistrationDate { get; set; } = DateTime.Today;

        /// <summary>
        /// 来源单据类型（默认"无来源"）
        /// </summary>
        public string SourceDocumentType { get; set; } = "无来源";

        /// <summary>
        /// 来源单据（关联上游单据时填写）
        /// </summary>
        public string SourceDocument { get; set; }

        /// <summary>
        /// 产品名称（必填）
        /// </summary>
        public string ProductName { get; set; }

        /// <summary>
        /// 产品编号（可选）
        /// </summary>
        public string ProductNumber { get; set; }

        /// <summary>
        /// 规格型号（产品规格）
        /// </summary>
        public string ProductSpecification { get; set; }

        /// <summary>
        /// 已入库数量（自动显示）
        /// </summary>
        public int StoredQuantity { get; init; }

        /// <summary>
        /// 制单日期（自动生成）
        /// </summary>
        public DateTime DocumentDate { get; init; } = DateTime.Now;

        /// <summary>
        /// 制单人员（自动填充当前用户）
        /// </summary>
        public string DocumentCreator { get; init; } = "admin";

        /// <summary>
        /// 关联项目（可选）
        /// </summary>
        public string RelatedProject { get; set; }

    }
}
